--- 战斗主类
---
--- @class FightTeam
FightTeam = ClientFight.CreateClass("FightTeam")
local FightTeam = FightTeam

--- @public
--- @return FightTeam
function FightTeam:ctor(team, site)
    --
    self.teamIndex = 1;
    -- 是否拥有子弹时间 */
    self.frozen = true;
    -- 战斗 */
    ---@type Fighter[]
    self.fighters = {};
    -- 援助 */
    --- @type table<number, Fighter>
    self.alternates = {};
    -- 其他，比如陷阱等 */

    --- @type table<number, Fighter>
    self.others = {};
    -- 初始全场buff */
    --- @type table<number, FightUsingSkill>
    self.initSkills = {};
    -- 初始全场buff添加情况 */
    --- @type table<number, table<number, boolean>>
    self.initSkillFighters = {};
    --[[
    * 基于队伍的一个非实体fighter
    * 用于释放支援技能以及其他的一些需要fighter参数的全局性逻辑
    ]]
    ---@ type Fighter
    self.teamFighter = nil;
    --[[
    * 支援技能
    * ]]
    ---@ type FightSkill
    self.supportSkill = nil;

    --[[
    * 满足职业加成的人数 key:职业id  val:人数
    * */]]
    --- @type table<number, number>
    self.professionAdditionMap = {};
    --[[
        * 上场职业人数
        * key:职业id  val:人数
        * */]]
    --- @type table<number, number>
    self.professionAmountMap = {};
    ---@class
    self.heroSkillAi = {}
end